home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-03-06 | 1.8 KB | 75 lines | [TEXT/ttxt] |
- FillData(data)
- {
- // count
- data->SetValue(0,10.0);
- data->SetValue(1,10.0);
-
- // color 1
- data->SetValue(2,1.0);
- data->SetValue(3,0.0);
- data->SetValue(4,0.0);
-
- // color 2
- data->SetValue(5,0.0);
- data->SetValue(6,0.0);
- data->SetValue(7,1.0);
- }
-
- EditData(data)
- {
- // Make new dialog
- var d=new(SimpleDialog);
-
- // Set edit fields of dialog
- d->SetData(0,"x-count",FIELD_FLOAT,0.01,100000,data->GetValue(0));
- d->SetData(1,"y-count",FIELD_FLOAT,0.01,100000,data->GetValue(1));
-
- d->SetData(2,"Red 1",FIELD_PERCENT,0.0,1.0,data->GetValue(2));
- d->SetData(3,"Green 1",FIELD_PERCENT,0.0,1.0,data->GetValue(3));
- d->SetData(4,"Blue 1",FIELD_PERCENT,0.0,1.0,data->GetValue(4));
-
- d->SetData(5,"Red 2",FIELD_PERCENT,0.0,1.0,data->GetValue(5));
- d->SetData(6,"Green 2",FIELD_PERCENT,0.0,1.0,data->GetValue(6));
- d->SetData(7,"Blue 2",FIELD_PERCENT,0.0,1.0,data->GetValue(7));
-
- d->SetTitle("Checkerboard");
-
- // start dialog
- if (!d->DoDialog()) return FALSE;
-
- // if sucessful copy dialog values into key data
- data->SetValue(0,d->GetData(0));
- data->SetValue(1,d->GetData(1));
-
- data->SetValue(2,d->GetData(2));
- data->SetValue(3,d->GetData(3));
- data->SetValue(4,d->GetData(4));
-
- data->SetValue(5,d->GetData(5));
- data->SetValue(6,d->GetData(6));
- data->SetValue(7,d->GetData(7));
-
- return TRUE;
- }
-
- GetOutput(data,p,n,time)
- {
- var c,c1,c2;
-
- c1 = vector(data->GetValue(2),data->GetValue(3),data->GetValue(4));
- c2 = vector(data->GetValue(5),data->GetValue(6),data->GetValue(7));
-
- p.x = p.x*data->GetValue(0); p.x = p.x-floor(p.x);
- p.y = p.y*data->GetValue(1); p.y = p.y-floor(p.y);
- if ((p.x>0.5)==(p.y>0.5))
- c = c1;
- else
- c = c2;
-
- return c;
- }
-
- main()
- {
- RegisterChannelShader(30004,8,"FillData","EditData","GetOutput");
- }